//
//  main.m
//  03-NSStringAndNSValue
//
//  Created by 李昊林 on 16/7/6.
//  Copyright © 2016年 李昊林. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
    //1，查看头文件或者API，他们的初始化/构造器，基本都是放在一起的
    //2，当我们拿到一个新的类，你需要去查看这个类的初始化或者构造器
    
    
    /** 初始化(init) */
    NSString * string = [[NSString alloc] init];
    /** 便利构造器(string) */
    NSString *str = [NSString string];
    /** 获取字符串长度(length) */
    NSUInteger length = string.length;
    /** 获取字符串中字符(character) */
    [string characterAtIndex:0];
    /** 字符串是否相等(equal) */
    [str isEqualToString:string];
    /** 获取子串(sub) */
    [str substringFromIndex:0];
    /** 拼接字符串(append) */
    [str stringByAppendingString:@"jytrhtgrf"];
    [str stringByAppendingFormat:@"rthegfe%@",str];
  //   /users/lical/bin
    [str stringByAppendingPathComponent:@"/user/local/bin"];
    //如果字符串方法带有返回值，操作不是远字符串，而是生成新的字符串
    NSString *pathString = @"/users/local/bin";
    pathString = [pathString stringByAppendingPathComponent:@"/name.plist"];
    NSLog(@"%@",pathString);
    /** 替换字符串(replace) */
 //   [pathString stringByReplacingCharactersInRange:<#(NSRange)#> withString:<#(nonnull NSString *)#>];
    /** 字符串对象转化为int类型(int) */
    NSInteger number = [pathString integerValue];
    NSLog(@"%ld",number);
    double doubleVlaue = [pathString doubleValue];
    NSLog(@"%lf",doubleVlaue);
    [pathString floatValue];
    [pathString doubleValue];
    /** 字符串对象转化为其他数据类型, 例如double, float, BOOL等. */
    
    /** 字符串全部大写(uppercase) */
    [pathString uppercaseString];
    /** 字符串全部小写(lowercase) */
    [pathString lowercaseString];
    /** 字符串首字母大写(capitalized) */
    [pathString capitalizedString];
    /** 是否以指定字符串为前缀(prefix) */
    
    /** 是否以指定字符串为后缀(suffix) */
    
    
    int age = 10;
    //number类型初始化方法
    NSNumber *ageNumber = [[NSNumber alloc] initWithInt:age];
    //number类型构造器方法
    NSNumber *ageNumber1 = [NSNumber numberWithInt:age];
    //number类型字面量
    NSNumber *ageNumber2 = @(age);
    
    // 1.330184198501184115 处理字符串, 取出他的出生年月, 并计算出年龄(不用具体)
    // 输出格式 1985年01月18日 年龄:31岁
    NSString * str4 = [NSString stringWithFormat:@"330184198501184115"];
//    - (NSString *)substringFromIndex:(NSUInteger)from;
//    - (NSString *)substringToIndex:(NSUInteger)to;
//    - (NSString *)substringWithRange:(NSRange)range;
    NSRange yearRange = {6,4};
    NSString * year = [str4 substringWithRange:yearRange];
    NSLog(@"%@",year);
    NSRange monthRange = {10,2};
    NSString * month = [str4 substringWithRange:monthRange];
    NSLog(@"%@",month);
    NSRange dateRange = {12,2};
    NSString * date = [str4 substringWithRange:dateRange];
    NSLog(@"%@",date);
    
    
    return 0;
}
